import java.util.*;

public class problem49 {
    public static void main(String[] args) {
        for(Long a=1487L; a<10000; a++) {
            Set<Long> primeList = new TreeSet<Long>();
            Long[] pandigitals = ProjectEuler.getPandigitals(a);
            List<Long> pandigitalsList = new ArrayList<Long>();
            for(Long pandigital : pandigitals)
                pandigitalsList.add(pandigital);
            pandigitalsList.add(a);

            for(Long pandigital : pandigitalsList) {
                if(ProjectEuler.isPrime(Double.valueOf(pandigital)) && pandigital.toString().length() == 4) {
                    primeList.add(pandigital);
                }
            }

            Set<Set<Long>> answers = new TreeSet<Set<Long>>();
            Long[] primes = primeList.toArray(new Long[primeList.size()]);
            for(int primeIndex=0; primeIndex<primeList.size(); primeIndex++) {
                Long prime = primes[primeIndex];
                for(int primeIndex2=primeIndex+1; primeIndex2<primeList.size(); primeIndex2++) {
                    Long prime2 = primes[primeIndex2];
                    for(int primeIndex3=primeIndex2+1; primeIndex3<primeList.size(); primeIndex3++) {
                        Long prime3 = primes[primeIndex3];
                        if(!prime.equals(prime2) && !prime2.equals(prime3)) {
                            if(((Long)(prime3 - prime2)).equals(prime2 - prime)) {
                                answers.add(new TreeSet<Long>(Arrays.asList(new Long[]{prime, prime2, prime3})));
                            }
                        }
                    }
                }
            }

            for(Set<Long> answer : answers) {
                for(Long number : answer) {
                    System.out.print(number + " ");
                }
                System.out.println();
            }
        }
    }
}